package com.omi.iberolactalpreventa;

import com.omi.iberolactalpreventa.R.id;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.database.Cursor;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class Principal extends Activity implements android.view.View.OnClickListener{

	private Button btnPrincipal;
	private Button btnSalir;
	private Button btnAdministrar;
	private TextView txtClave;
	private Builder dlgSalir;
	private Toast TClaveIncorrecta;
	private DialogInterface.OnClickListener dialogSalir;
	
	@SuppressLint("ShowToast")
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_principal);
		
		//Base de datos:
		Modulebase.init(this);
		
		//Recogemos los elementos del formulario:
		btnPrincipal = (Button)findViewById(R.id.btnPrincipal);
		btnSalir = (Button)findViewById(R.id.btnSalir);
		btnAdministrar = (Button)findViewById(R.id.btnAdministracion);
		txtClave = (TextView) findViewById(id.txtClave);
		//Configuramos eventos para los botones:
		btnPrincipal.setOnClickListener(this);
		btnSalir.setOnClickListener(this);
		btnAdministrar.setOnClickListener(this);
				
		//Toast para la clave incorrecta:
		TClaveIncorrecta = Toast.makeText(this,"La clave introducida es incorrecta", Toast.LENGTH_SHORT);

		dlgSalir = new AlertDialog.Builder(this);
	}

	@Override
	public void onBackPressed() {
		salir();
	}
	
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.principal, menu);
		return true;
	}

	@Override
	public void onClick(View v) {
		switch(v.getId())
		{
		case R.id.btnSalir:
			salir();
			break;
		case R.id.btnAdministracion:
			if(comprobarClaveAdmin())
			{
				Intent intAdmin = new Intent("com.omi.iberolactalpreventa.Administracion");
				startActivity(intAdmin);
			}
			else
			{
				TClaveIncorrecta.show();
			}
			break;
		case R.id.btnPrincipal:
			//Comprobar si tiene datos cargados, sino no dejar comenzar:
			
			Cursor c = Modulebase.db.ejecutarSelect(new String[]{"NOMBRE"}, "VENDEDOR", null, null,"NOMBRE");
	    	if(c!=null && c.moveToFirst())
	    	{
	    	Intent intInicio = new Intent("com.omi.iberolactalpreventa.Inicio");
			startActivity(intInicio);

	    	}
	    	else
	    	{
				dlgSalir.setTitle("Error");
	    		dlgSalir.setMessage("La base de datos aún no ha sido creada. Debe cargar datos para poder comenzar la aplicación.");
	    		dlgSalir.setPositiveButton("Aceptar", dialogSalir);
	    		
	    		dialogSalir = new OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
					}
	    		};
	    		dlgSalir.show();
	    	}
			break;
		}
	}

	private boolean comprobarClaveAdmin()
	{
		Cursor c = Modulebase.db.ejecutarSelect(new String[]{"USUARIO"},"CONFIGURACION", "PASSWORD=?", new String[]{(String)txtClave.getText().toString()});
		if(c!=null && c.moveToFirst())
		{
			return true;
		}
		return false;
	}
	
private void salir()
{
	//Definimos el funcionamiento de los dialogos:
	dialogSalir = new OnClickListener() {
	
	@Override
	public void onClick(DialogInterface dialog, int which) {
		
	if(which==DialogInterface.BUTTON_POSITIVE)
	{
		System.exit(0);
	}
	}
};

//Configuracion de cuadros de dialogo.

dlgSalir.setTitle("Salir");
dlgSalir.setMessage("¿Esta seguro de que desea salir de la aplicacion?");
dlgSalir.setPositiveButton("Sí", dialogSalir);
dlgSalir.setNegativeButton("No", dialogSalir);
dlgSalir.show();
}
	
}
